Compile on MinGW/de

Diese Anleitung führt durch die notwendigen Schritte, um FreeCAD unter Windows mit der MSYS2/MinGW-Umgebung zu erstellen. Grundlegende Kenntnisse der Bash-Shell-Befehle sind hilfreich, um die einzelnen Schritte zu verstehen, aber wenn man die Anleitung Schritt für Schritt befolgt, sollte das Ergebnis ein funktionierender Build sein, auch wenn man nicht genau versteht, was man dafür getan hat.

Bevor man anfängt

MSYS2 herunterladen und installieren, falls man dies noch nicht getan hat. Beim Starten von MSYS2 die Laufzeitumgebung "MSYS2 MinGW 64-bit" verwenden, es sei denn, man weiß genau, was man tut, und hat einen bestimmten Grund, dies nicht zu tun. Wenn man die UCRT-Konsole verwendet, stellt man sicher, dass man die Installation so anpasst, dass stattdessen die UCRT-Pakete verwendet werden.

pacman -Syu

und dann neu starten und ausführen

pacman -Su

bevor man fortfährt.

Grundlegende Entwicklungswerkzeuge installieren

In allen folgenden Schritten akzeptiert man, wenn man von der MSYS2-Shell dazu aufgefordert wird, die Standardinstallationen für alle Komponenten, indem man die Eingabetaste drückt.

Zunächst installiert man die mingw-w64 GCC-Werkzeugkette:

pacman -S --needed base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja

Dies wird wahrscheinlich einige Minuten dauern, da die Compiler-Werkzeugkette recht umfangreich ist.

Git installieren:

pacman -S git

Das aktuelle Konsolenfenster schließen und die MSYS2 MinGW 64-Konsole neu starten (bei einer Standardinstallation findet man diese im Startmenü im Ordner "MSYS2").

Die FreeCAD-Quellen auschecken

Um den Quellcode von FreeCAD zu erhalten, klont man ihn aus dem Haupt-Git-Repository:

git clone https://github.com/FreeCAD/FreeCAD

Wenn man nicht den neuesten HEAD kompilieren möchte, kann man nach Erhalt des Quellcodes einen bestimmten Tag auschecken:

cd FreeCAD
git checkout tags/1.0 -b releases/FreeCAD-1-0

Oder eine bestimmte Pull-Request (in diesem Beispiel PR 1234):

cd FreeCAD
git fetch origin pull/1234/head:pr/1234
git checkout pr/1234

Man beachte, dass nicht alle Versionen unter MSYS2 kompiliert werden können. Es waren mehrere Änderungen erforderlich, um dies zu ermöglichen, und diese waren in den Versionen 0.19 oder früheren Versionen nicht vorhanden. Beispielsweise kann das Tag 0.19.3 nicht kompiliert werden.

Erforderliche Bibliotheken installieren

FreeCAD ist für seine Funktionalität auf viele Bibliotheken von Drittanbietern angewiesen. Diese können einzeln oder mit einem einzigen Befehl installiert werden.

Nun installiert man die folgenden erforderlichen Abhängigkeiten mit pacman:

Mit dem folgenden Befehl können alle oben aufgeführten Komponenten installiert werden:

pacman -S mingw-w64-x86_64-opencascade mingw-w64-x86_64-xerces-c mingw-w64-x86_64-qt5 mingw-w64-x86_64-med mingw-w64-x86_64-swig mingw-w64-x86_64-qtwebkit mingw-w64-x86_64-coin mingw-w64-x86_64-python-pivy mingw-w64-x86_64-pyside2 mingw-w64-x86_64-python-ply mingw-w64-x86_64-python-six mingw-w64-x86_64-python-yaml mingw-w64-x86_64-python-numpy mingw-w64-x86_64-python-matplotlib mingw-w64-x86_64-python-markdown mingw-w64-x86_64-python-pygit2

FreeCAD bauen

Ein Verzeichnis für den Build erstellen: Man beachte, dass dies in der Regel kein Unterverzeichnis des Quellverzeichnisses ist (oft ist es sinnvoll, das Quell- oder das Build-Verzeichnis unabhängig voneinander löschen zu können).

mkdir FreeCAD-build
cd FreeCAD-build

cMake ausführen:

cmake ../FreeCAD

Und schliesslich:

cmake --build ./